using System;
using System.Collections.Generic;
using System.Text;
using Castle.ActiveRecord;
using NHibernate.Expression;

namespace WOODIFramework.Model
{
    [ActiveRecord("SubmitButton")]
    public class SubmitButton : PageItem
    {
        #region Fields

        private Guid _submitButtonId;
        private string _tooltip;
        private string _buttonText;

        #endregion

        #region Properties

        [JoinedKey("submitButtonID")]
        public Guid SubmitButtonId
        {
            get { return _submitButtonId; }
            set { _submitButtonId = value; }
        }

        [Property]
        public string ButtonText
        {
            get { return _buttonText; }
            set { _buttonText = value; }
        }

        [Property]
        public string Tooltip
        {
            get { return _tooltip; }
            set { _tooltip = value; }
        }

        #endregion

        #region Constructors

        private SubmitButton()
        {
            this.Id = Guid.NewGuid();
            this.SubmitButtonId = this.Id;
        }


        private SubmitButton(string Name)
        {
            this.Id = Guid.NewGuid();
            this.SubmitButtonId = this.Id;
            this.Name = Name;
        }

        private SubmitButton(string Name, string ButtonText)
        {
            this.Id = Guid.NewGuid();
            this.SubmitButtonId = this.Id;
            this.Name = Name;
            this.ButtonText = ButtonText;
        }

        #endregion

        #region Public Methods

        #region Public Static Methods

        public static SubmitButton CreateSubmitButton()
        {
            return new SubmitButton();
        }

        public static SubmitButton CreateSubmitButton(string Name)
        {
            return new SubmitButton(Name);
        }

        public static SubmitButton CreateSubmitButton(string Name, string ButtonText)
        {
            return new SubmitButton(Name, ButtonText);
        }

        #endregion

        #endregion


    }
}
